﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace StyleMVVM.Validation.Impl.Fluent
{
	public interface IFluentExpressionProvider
	{
		ParameterExpression GetPropertyExpression(string propertyName);

		ParameterExpression ValidationObject { get; set; }

		ParameterExpression ExecutionContext { get; set; }

		IEnumerable<Expression> PropertyExpressions(out IEnumerable<ParameterExpression> variables);
	}
}